#ifndef __selecobj_h__
#define __selecobj_h__

/* Forward Declarations */

struct ENUMDESC;

/* header files for imported files */
#include "types.h"

#ifndef __IHTMLSelectionObject_FWD_DEFINED__
#define __IHTMLSelectionObject_FWD_DEFINED__
typedef interface IHTMLSelectionObject IHTMLSelectionObject;
#endif     /* __IHTMLSelectionObject_FWD_DEFINED__ */

#ifndef __IHTMLSelectionObject2_FWD_DEFINED__
#define __IHTMLSelectionObject2_FWD_DEFINED__
typedef interface IHTMLSelectionObject2 IHTMLSelectionObject2;
#endif     /* __IHTMLSelectionObject2_FWD_DEFINED__ */
typedef enum _htmlSelection
{
    htmlSelectionNone = 0,
    htmlSelectionText = 1,
    htmlSelectionControl = 2,
    htmlSelectionTable = 3,
    htmlSelection_Max = 2147483647L
} htmlSelection;


EXTERN_C const ENUMDESC s_enumdeschtmlSelection;


#ifndef __IHTMLSelectionObject_INTERFACE_DEFINED__

#define __IHTMLSelectionObject_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHTMLSelectionObject;


MIDL_INTERFACE("3050f25A-98b5-11cf-bb82-00aa00bdce0b")
IHTMLSelectionObject : public IDispatch
{
public:
    virtual HRESULT STDMETHODCALLTYPE createRange(
            /* [out] */ IDispatch** range) = 0;

    virtual HRESULT STDMETHODCALLTYPE empty(
            ) = 0;

    virtual HRESULT STDMETHODCALLTYPE clear(
            ) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_type(
         /* [out] */ BSTR * p) = 0;

};

#endif     /* __IHTMLSelectionObject_INTERFACE_DEFINED__ */


#ifndef __IHTMLSelectionObject2_INTERFACE_DEFINED__

#define __IHTMLSelectionObject2_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHTMLSelectionObject2;


MIDL_INTERFACE("3050f7ec-98b5-11cf-bb82-00aa00bdce0b")
IHTMLSelectionObject2 : public IDispatch
{
public:
    virtual HRESULT STDMETHODCALLTYPE createRangeCollection(
            /* [out] */ IDispatch** rangeCollection) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_typeDetail(
         /* [out] */ BSTR * p) = 0;

};

#endif     /* __IHTMLSelectionObject2_INTERFACE_DEFINED__ */


#ifndef _CSelectionObject_PROPDESCS_
EXTERN_C const PROPERTYDESC_METHOD s_methdescCSelectionObjectcreateRange;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCSelectionObjectempty;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCSelectionObjectclear;
EXTERN_C const PROPERTYDESC_NUMPROP_ABSTRACT s_propdescCSelectionObjecttype;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCSelectionObjectcreateRangeCollection;
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCSelectionObjecttypeDetail;

#endif


#endif /*__selecobj_h__*/

